/**
 * AI对话聊天API接口 (基于ai_app模块)
 */
import api from '@/utils/api'

export const chatApi = {
  // AI模型管理
  models: {
    // 获取AI模型列表
    getList: () => api.get('/ai-app/models/'),
    
    // 获取单个AI模型详情
    getDetail: (id) => api.get(`/ai-app/models/${id}/`),
    
    // 创建AI模型配置
    create: (modelData) => api.post('/ai-app/models/', modelData),
    
    // 更新AI模型配置
    update: (id, modelData) => api.put(`/ai-app/models/${id}/`, modelData),
    
    // 删除AI模型
    delete: (id) => api.delete(`/ai-app/models/${id}/`),
  },

  // 聊天会话管理
  sessions: {
    // 获取会话列表
    getList: (params = {}) => api.get('/ai-app/sessions/', { params }),
    
    // 获取会话详情
    getDetail: (sessionId) => api.get(`/ai-app/sessions/${sessionId}/`),
    
    // 创建新会话
    create: (sessionData) => api.post('/ai-app/sessions/', sessionData),
    
    // 更新会话
    update: (sessionId, sessionData) => api.put(`/ai-app/sessions/${sessionId}/`, sessionData),
    
    // 删除会话
    delete: (sessionId) => api.delete(`/ai-app/sessions/${sessionId}/`),
    
    // 获取会话消息列表
    getMessages: (sessionId, params = {}) => api.get(`/ai-app/sessions/${sessionId}/messages/`, { params }),
  },

  // 消息管理
  messages: {
    // 发送消息
    send: (messageData) => api.post('/ai-app/messages/', messageData),
    
    // 获取消息详情
    getDetail: (messageId) => api.get(`/ai-app/messages/${messageId}/`),
    
    // 删除消息
    delete: (messageId) => api.delete(`/ai-app/messages/${messageId}/`),
    
    // 重新生成AI回复
    regenerate: (messageId) => api.post(`/ai-app/messages/${messageId}/regenerate/`),
  },

  // 提示词模板管理
  templates: {
    // 获取模板列表
    getList: () => api.get('/ai-app/templates/'),
    
    // 获取模板详情
    getDetail: (templateId) => api.get(`/ai-app/templates/${templateId}/`),
    
    // 创建模板
    create: (templateData) => api.post('/ai-app/templates/', templateData),
    
    // 更新模板
    update: (templateId, templateData) => api.put(`/ai-app/templates/${templateId}/`, templateData),
    
    // 删除模板
    delete: (templateId) => api.delete(`/ai-app/templates/${templateId}/`),
  },

  // 用户偏好设置
  preferences: {
    // 获取用户偏好
    get: () => api.get('/ai-app/preferences/'),
    
    // 更新用户偏好
    update: (preferences) => api.put('/ai-app/preferences/', preferences),
  },

  // AI测试功能
  test: {
    // 测试AI连接
    testConnection: (modelId, message) => api.post('/ai-app/test/', {
      model_id: modelId,
      message: message
    }),
  },

  // API使用统计
  usage: {
    // 获取使用统计
    getStats: (params = {}) => api.get('/ai-app/usage/', { params }),
    
    // 获取使用日志
    getLogs: (params = {}) => api.get('/ai-app/usage/logs/', { params }),
  }
}

export default chatApi